Skip to content

[Chat] 실시간 채팅 구현#183

Merged
Creamcheesepie merged 7 commits into
mainfrom
feat/#141
Dec 23, 2025
Merged

[Chat] 실시간 채팅 구현#183
Creamcheesepie merged 7 commits into
mainfrom
feat/#141

Conversation

@heygeeji
Copy link
Copy Markdown
Collaborator

@heygeeji heygeeji commented Dec 23, 2025

🔗 관련 이슈

관련된 이슈 번호를 연결해주세요.
Close #이슈번호 를 쓰면 PR merge 시 자동으로 close 됩니다.

🚀 PR 개요

이 PR이 어떤 변경을 포함하고 있는지 간단히 설명해주세요.

  • WebSocket + STOMP 기반 실시간 채팅 메시지 전송 기능 구현
  • WebSocket Handshake 단계에서 JWT 인증 처리
  • STOMP 채팅 메시지 전송/구독 규격 Swagger 문서화

📌 변경 사항

주요 변경 내용을 체크리스트 형태로 정리해주세요.

  • 기능 추가
  • 버그 수정
  • 리팩터링
  • 문서 업데이트
  • 테스트 추가/수정

🧪 테스트 방법

변경된 내용을 어떻게 테스트했는지 구체적으로 적어주세요.

브라우저 콘솔에서 테스트

📸 스크린샷 (선택)

UI 변경 또는 시각적으로 확인할 수 있는 변경이 있다면 첨부해주세요.

image

⚠️ 참고 사항

리뷰어가 알아야 할 사항이 있다면 자유롭게 작성해주세요.

@github-actions
Copy link
Copy Markdown

Test Results

6 tests  ±0   6 ✅ ±0   0s ⏱️ ±0s
3 suites ±0   0 💤 ±0 
3 files   ±0   0 ❌ ±0 

Results for commit 3d27086. ± Comparison against base commit 7894a5d.

@github-actions
Copy link
Copy Markdown

⭐ JaCoCo Coverage

Line Coverage: 5.24%

📄 Coverage Details

Overall Line Coverage: 5.21% (201 covered / 3856 lines)

Package Summary (lowest first)
Package Line % Covered Missed
com/back/web7_9_codecrete_be/domain/plans/controller 0.00% 0 49
com/back/web7_9_codecrete_be/domain/location/controller 0.00% 0 40
com/back/web7_9_codecrete_be/domain/community/post/service 0.00% 0 45
com/back/web7_9_codecrete_be/global/rsData 0.00% 0 11
com/back/web7_9_codecrete_be/domain/chats/entity 0.00% 0 4
com/back/web7_9_codecrete_be/domain/location/entity 0.00% 0 15
com/back/web7_9_codecrete_be/global/scheduler 0.00% 0 3
com/back/web7_9_codecrete_be/domain/auth/entity 0.00% 0 0
com/back/web7_9_codecrete_be/global/websocket 0.00% 0 10
com/back/web7_9_codecrete_be/domain/auth/service 0.00% 0 136
com/back/web7_9_codecrete_be/domain/plans/service 0.00% 0 362
com/back/web7_9_codecrete_be/global/initData 0.00% 0 51
com/back/web7_9_codecrete_be/domain/users/controller 0.00% 0 26
com/back/web7_9_codecrete_be/domain/email/entity 0.00% 0 6
com/back/web7_9_codecrete_be/domain/community/comment/service 0.00% 0 17
com/back/web7_9_codecrete_be/domain/auth/controller 0.00% 0 24
com/back/web7_9_codecrete_be/domain/community/comment/controller 0.00% 0 7
com/back/web7_9_codecrete_be/domain/artists/controller 0.00% 0 31
com/back/web7_9_codecrete_be/domain/community/comment/entity 0.00% 0 12
com/back/web7_9_codecrete_be/domain/community/post/controller 0.00% 0 20
com/back/web7_9_codecrete_be/global/aspect 0.00% 0 4
com/back/web7_9_codecrete_be/global/wikidata 0.27% 1 374
com/back/web7_9_codecrete_be/domain/artists/service 0.35% 3 854
com/back/web7_9_codecrete_be/global/musicbrainz 0.46% 1 215
com/back/web7_9_codecrete_be/domain/users/service 0.97% 1 102
com/back/web7_9_codecrete_be/domain/email/service 1.61% 1 61
com/back/web7_9_codecrete_be/global/flo 1.85% 1 53
com/back/web7_9_codecrete_be/domain/chats/service 1.92% 1 51
com/back/web7_9_codecrete_be/domain/concerts/controller 2.86% 1 34
com/back/web7_9_codecrete_be/domain/concerts/entity 3.33% 3 87
com/back/web7_9_codecrete_be/global/storage 3.57% 2 54
com/back/web7_9_codecrete_be/domain/concerts/service 4.93% 25 482
com/back/web7_9_codecrete_be/domain/artists/entity 7.55% 4 49
com/back/web7_9_codecrete_be/global/rq 9.80% 5 46
com/back/web7_9_codecrete_be/domain/users/util 14.29% 1 6
com/back/web7_9_codecrete_be/domain/community/post/entity 16.67% 6 30
com/back/web7_9_codecrete_be/domain/chats/controller 20.00% 2 8
com/back/web7_9_codecrete_be/domain/plans/entity 21.88% 21 75
com/back/web7_9_codecrete_be/domain/users/entity 23.08% 12 40
com/back/web7_9_codecrete_be/global/security 27.62% 29 76
com/back/web7_9_codecrete_be/global/spotify 35.71% 5 9
com/back/web7_9_codecrete_be/domain/location/service 43.70% 59 76
com/back/web7_9_codecrete_be/global/doc 100.00% 17 0
Lowest Covered Classes (Top 20)
Class Line % Covered Missed
com.back.web7_9_codecrete_be.domain.plans.service.PlanService 0.00% 0 362
com.back.web7_9_codecrete_be.domain.artists.service.ArtistService 0.00% 0 94
com.back.web7_9_codecrete_be.domain.auth.service.AuthService 0.00% 0 73
com.back.web7_9_codecrete_be.global.initData.BaseInitData 0.00% 0 51
com.back.web7_9_codecrete_be.domain.plans.controller.PlanController 0.00% 0 49
com.back.web7_9_codecrete_be.domain.concerts.entity.Concert 0.00% 0 40
com.back.web7_9_codecrete_be.domain.plans.entity.Schedule 0.00% 0 37
com.back.web7_9_codecrete_be.global.security.JwtTokenProvider 0.00% 0 37
com.back.web7_9_codecrete_be.domain.community.post.service.PostService 0.00% 0 36
com.back.web7_9_codecrete_be.domain.artists.entity.Artist 0.00% 0 33
com.back.web7_9_codecrete_be.domain.users.entity.User 0.00% 0 31
com.back.web7_9_codecrete_be.domain.artists.controller.ArtistsController 0.00% 0 31
com.back.web7_9_codecrete_be.domain.location.service.LocationService 0.00% 0 30
com.back.web7_9_codecrete_be.domain.concerts.entity.ConcertPlace 0.00% 0 29
com.back.web7_9_codecrete_be.domain.location.controller.KakaoApiController 0.00% 0 29
com.back.web7_9_codecrete_be.domain.chats.service.ChatPolicyService 0.00% 0 27
com.back.web7_9_codecrete_be.domain.plans.entity.Plan 0.00% 0 27
com.back.web7_9_codecrete_be.domain.auth.service.TokenService 0.00% 0 27
com.back.web7_9_codecrete_be.domain.users.controller.UserController 0.00% 0 26
com.back.web7_9_codecrete_be.domain.auth.controller.AuthController 0.00% 0 24
Changed Classes (from this PR)
Source (PR) Class Prefix Line % Covered Missed
src/main/java/com/back/web7_9_codecrete_be/global/websocket/JwtHandshakeHandler.java com.back.web7_9_codecrete_be.global.websocket.JwtHandshakeHandler 0.00% 0 10
src/main/java/com/back/web7_9_codecrete_be/domain/chats/dto/ChatMessageRequest.java com.back.web7_9_codecrete_be.domain.chats.dto.ChatMessageRequest 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/chats/dto/ChatMessageResponse.java com.back.web7_9_codecrete_be.domain.chats.dto.ChatMessageResponse 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/global/config/WebSocketConfig.java com.back.web7_9_codecrete_be.global.config.WebSocketConfig 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/chats/service/ChatMessageService.java com.back.web7_9_codecrete_be.domain.chats.service.ChatMessageService 7.14% 1 13
src/main/java/com/back/web7_9_codecrete_be/domain/chats/controller/ChatMessageController.java com.back.web7_9_codecrete_be.domain.chats.controller.ChatMessageController 20.00% 1 4
src/main/java/com/back/web7_9_codecrete_be/domain/chats/controller/ChatStompDocsController.java com.back.web7_9_codecrete_be.domain.chats.controller.ChatStompDocsController 33.33% 1 2
src/main/java/com/back/web7_9_codecrete_be/global/security/SecurityConfig.java com.back.web7_9_codecrete_be.global.security.SecurityConfig 100.00% 25 0

🔗 Full HTML report: See artifact jacoco-full-html on this run → https://github.com/prgrms-web-devcourse-final-project/WEB7_9_codecrete_BE/actions/runs/20455139249

Copy link
Copy Markdown
Collaborator

@larama-C larama-C left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

Copy link
Copy Markdown
Collaborator

@ys0221 ys0221 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다!!

Copy link
Copy Markdown
Collaborator

@Creamcheesepie Creamcheesepie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

Copy link
Copy Markdown
Collaborator

@kms152000 kms152000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

Copy link
Copy Markdown
Collaborator

@tobbot16 tobbot16 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

@Creamcheesepie Creamcheesepie merged commit dc92342 into main Dec 23, 2025
2 checks passed
@Creamcheesepie Creamcheesepie deleted the feat/#141 branch December 23, 2025 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Chat] WebSocket + STOMP 기반 실시간 채팅방 구현

6 participants